package Shape;

public abstract class Shape {
    abstract public void draw();
    abstract void calcArea();
    public double getArea(){
        return area;
    }

    protected double area;
}

//抽象类不能直接实例化对象
//
//抽象方法不能private
//如果这样子的，只能在同一个位置去实现
//同一个包同一个类
//

//默认权限都可以在同一个包下的不同的类里面实现（抽象具体化）

//
//抽象方法不能被final和static修饰
//final代表静态，就不允许变化，也就不能重写
//

//static不能用来继承，因为它是用来共享的
//但是abstract就是为了继承
//

//抽象类必须被继承
//并且继承之后一定要重写父类的抽象方法
//否则子类也还是抽象的
//子类也需要被继承
